Embodiments of the present invention relate to eventing technologies for resource content, and in particular to subscriber devices and subscription management thereof. Embodiments of the present invention further relate to real-time communication for resource content.
Web 2.0 technologies are rapidly being adopted by industries, and eventing has become an important mechanism for communication between applications using Web 2.0 technologies.
The Atom standard is a Web 2.0 eventing mechanism defined by the Internet Engineering Task Force (IETF), which defines both a feed format for representing Web resources and a protocol for editing Web resources. The feed format enables Web content syndication and the protocol enables agents to interact with Web sources. In this regard, the Atom Publishing Format and Protocol Working Group of the IETF has developed two technologies relevant to content syndication. The Atom Syndication Format (RFC 4287), referred to herein as “Atom”, is an Atom format in IETF terminology. The Atom Publishing Protocol (RFC 5023), referred to herein as “AtomPub”, is an application-level protocol for publishing and editing Web resources. However, Atom and AtomPub are primarily defined for publishing the abstract and syndication of Web content for browser based clients. More particularly, Atom feed providers only use the AtomPub protocol to create/update/delete feeds, and Atom feed users retrieve feeds from an Atom feed server by implementing pulling functions to get the latest content. Therefore, the efficiency of eventing fully depends on the frequency of retrieving operations by users, and the Atom and AtomPub in the conventional art do not support real-time eventing.
Bayeux is a protocol for transporting asynchronous messages over HTTP. The primary purpose of Bayeux is to implement responsive user interactions for Web clients using Asynchronous JavaScript and XML (Ajax), and Comet (a server-push technique). The Bayeux protocol supports two transport types of Comet: Streaming transport and Long Polling transport, both of which require long run HTTP sessions between a client and a server. Moreover, the whole eventing session requires the client and the server to be available. Therefore, resource consumption is high. Still further, Bayeux is not a real-time eventing mechanism.